home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 35 / Amiga Format AFCD35 (Issue 119, Jan 1999).iso / -in_the_mag- / reader_requests / fredobbutils / bbsrc / beyondforce.s < prev    next >
Text File  |  1998-11-06  |  5KB  |  243 lines

  1. * BEYOND FORCE Bootblock
  2. * Resourced by Frédo
  3. * doesn't seem to work under 2.0+
  4. * (not system friendly)
  5.  
  6. LB_0000
  7.     dc.b    'DOS',0
  8. LB_0004    dc.l    0
  9.     dc.l    $370
  10. Start:
  11.     move.l    4.w,a6
  12.  
  13.     movem.l    d0-a6,-(sp)
  14.     LEA    $00DFF002,A5
  15.     LEA    $0004(A5),A6
  16.     LEA    LB_01F2(PC),A0
  17.     LEA    $00028000,A2        ;aargh!! :-)
  18.     MOVE    #$0C00,D4
  19.     MOVEQ    #$7F,D7
  20. LB_002A    MOVE    #$4400,D5
  21.     MOVE    (A0),D0
  22.     MULS    D4,D0
  23.     MOVE.L    D0,D2
  24.     DIVS    D5,D0
  25.     MOVE    $0080(A0),D1
  26.     MULS    D4,D1
  27.     MOVE.L    D1,D3
  28.     DIVS    D5,D1
  29.     MOVE    (A6),D6
  30.     ANDI    #$003F,D6
  31.     MULU    #$0070,D6
  32.     SUB    D6,D5
  33.     DIVS    D5,D2
  34.     DIVS    D5,D3
  35.     SUB    D2,D0
  36.     SUB    D3,D1
  37.     MOVE    #$4400,D5
  38.     MOVEQ    #$7F,D6
  39. LB_005A    MOVE    (A0),D2
  40.     MULS    D4,D2
  41.     DIVS    D5,D2
  42.     MOVE    $0080(A0),D3
  43.     MULS    D4,D3
  44.     DIVS    D5,D3
  45.     ADD    D0,D2
  46.     ADD    D1,D3
  47.     CMPI    #$00A0,D2
  48.     BGE.B    LB_00BE
  49.     CMPI    #$FF60,D2
  50.     BLE.B    LB_00BE
  51.     CMPI    #$0080,D3
  52.     BGE.B    LB_00BE
  53.     TST    D3
  54.     BMI.B    LB_00BE
  55.     NEG    D3
  56.     ADDI    #$00A0,D2
  57.     ADDI    #$007F,D3
  58.     MULU    #$0050,D3
  59.     ADD.L    LB_03C6(PC),D3
  60.     MOVE.L    D3,A1
  61.     MOVE    D2,D3
  62.     LSR    #3,D3
  63.     ADDA    D3,A1
  64.     NOT.B    D2
  65.     ANDI.B    #$07,D2
  66.     MOVEQ    #$00,D3
  67.     BSET    D2,D3
  68.     MOVE.L    D3,D2
  69.     SWAP    D3
  70.     CMPI    #$0040,D6
  71.     BLE.B    LB_00B4
  72.     OR.L    D3,D2
  73.     BRA.B    LB_00C2
  74. LB_00B4    CMPI    #$0020,D6
  75.     BLE.B    LB_00C2
  76.     MOVE.L    D3,D2
  77.     BRA.B    LB_00C2
  78. LB_00BE    LEA    LB_0004(PC),A1
  79. LB_00C2    MOVE.L    D2,(A2)+
  80.     MOVE.L    A1,(A2)+
  81.     SUBI    #$0070,D5
  82.     DBF    D6,LB_005A
  83.     ADDQ.L    #2,A0
  84.     DBF    D7,LB_002A
  85.     MOVE.L    LB_03D2(PC),A0
  86.     MOVE    #$0293,D7
  87. LB_00DC    MOVE    (A6),D1
  88.     EOR    D1,D0
  89.     ROR    #8,D0
  90.     LSL    #3,D0
  91.     MOVE    D0,(A0)+
  92.     ADD.B    (A6),D0
  93.     DBF    D7,LB_00DC
  94. ;start DMA
  95.     MOVE    #$3FFF,$0098(A5)    ;intena
  96.     MOVE    #$3FFF,$0094(A5)    ;dmacon
  97.     MOVE    #$83C0,$0094(A5)    ;dmacon
  98.     LEA    LB_0372(PC),A0        ;copperlist
  99.     MOVE.L    A0,$007E(A5)        ;cop1lch (initialize copperlist)
  100. LB_0106
  101.     MOVE.L    $0002(A5),D0
  102.     ANDI.L    #$0001FF00,D0
  103.     BNE.B    LB_0106
  104.     LEA    LB_03CA(PC),A0
  105.     LEA    LB_03CE(PC),A1
  106.     MOVE.L    (A1),D0
  107.     MOVE.L    (A0),(A1)
  108.     MOVE.L    D0,(A0)
  109. LB_0120    BTST    #$06,(A5)
  110.     BNE.B    LB_0120
  111.     MOVE.L    #$01000000,$003E(A5)    ;bltcon0
  112. ;    MOVE    #$0000,$0064(A5)    ;bltdmod
  113.     clr    $64(a5)
  114.     MOVE.L    D0,$0052(A5)        ;bltdpth
  115.     MOVE    #$1400,$0056(A5)    ;bltsize (set blit size & start blitter)
  116.  
  117.     MOVE.L    LB_03D2(PC),A0
  118.     LEA    $00028000,A1
  119.     LEA    $00038000,A3
  120.     MOVE.L    LB_03CA(PC),D2
  121.     SUB.L    LB_03C6(PC),D2
  122.     MOVEQ    #$08,D4
  123.     MOVEQ    #$00,D0
  124.     MOVE    #$0293,D7
  125. LB_015E    BTST    #$06,(A5)
  126.     BNE.B    LB_015E
  127. LB_0164    MOVE    (A0),D0
  128.     ADD    D4,(A0)+
  129.     MOVEM.L    $00(A1,D0.L),D1/A2
  130.     ADDA.L    D2,A2
  131.     OR.B    D1,(A2)
  132.     SWAP    D1
  133.     OR.B    D1,$0028(A2)
  134.     MOVEM.L    $00(A3,D0.L),D1/A2
  135.     ADDA.L    D2,A2
  136.     OR.B    D1,(A2)
  137.     SWAP    D1
  138.     OR.B    D1,$0028(A2)
  139.     DBF    D7,LB_0164
  140.     LEA    LB_0392(PC),A0
  141.     MOVE.L    LB_03CA(PC),D0
  142.     MOVE    D0,$0006(A0)
  143.     SWAP    D0
  144.     MOVE    D0,$0002(A0)
  145.     SWAP    D0
  146.     ADDI.L    #$00000028,D0
  147.     MOVE    D0,$000E(A0)
  148.     SWAP    D0
  149.     MOVE    D0,$000A(A0)
  150.     MOVE.B    #$22,$0012(A0)
  151.     BTST    #$06,$00BFE001        ;test leftmouse
  152.     BNE    LB_0106
  153. ;restore system coplist and boot AmigaDOS
  154.     MOVE.L    $0004.W,A6
  155.     MOVE.L    $009C(A6),A0        ;Execbase->gfxbase
  156.     MOVE.L    $0026(A0),$007E(A5)    ;restore coplist
  157.     MOVE    #$83F0,$0094(A5)    ;restore dma
  158.     MOVE    #$E02C,$0098(A5)    ;restore intena
  159.     MOVEM.L    (A7)+,D0-A6
  160.     LEA    LB_03D6(PC),A1
  161.     JSR    -$0060(A6)
  162.     MOVE.L    D0,A0
  163.     MOVE.L    $0016(A0),A0
  164.     MOVEQ    #$00,D0
  165.     RTS    
  166.  
  167. ;some data
  168. LB_01F2
  169.     DC.B    $FF,$42,$FF,$42,$FF,$42,$FF,$43
  170.     DC.B    $FF,$43,$FF,$44,$FF,$44,$FF,$45
  171.     DC.B    $FF,$46,$FF,$47,$FF,$48,$FF,$4A
  172.     DC.B    $FF,$4B,$FF,$4C,$FF,$4E,$FF,$50
  173.     DC.B    $FF,$51,$FF,$53,$FF,$55,$FF,$57
  174.     DC.B    $FF,$5A,$FF,$5C,$FF,$5E,$FF,$61
  175.     DC.B    $FF,$63,$FF,$66,$FF,$69,$FF,$6C
  176.     DC.B    $FF,$6F,$FF,$72,$FF,$75,$FF,$78
  177.     DC.B    $FF,$7B,$FF,$7F,$FF,$82,$FF,$86
  178.     DC.B    $FF,$89,$FF,$8D,$FF,$91,$FF,$95
  179.     DC.B    $FF,$98,$FF,$9C,$FF,$A0,$FF,$A4
  180.     DC.B    $FF,$A8,$FF,$AD,$FF,$B1,$FF,$B5
  181.     DC.B    $FF,$B9,$FF,$BE,$FF,$C2,$FF,$C7
  182.     DC.B    $FF,$CB,$FF,$D0,$FF,$D4,$FF,$D9
  183.     DC.B    $FF,$DD,$FF,$E2,$FF,$E6,$FF,$EB
  184.     DC.B    $FF,$F0,$FF,$F4,$FF,$F9,$FF,$FE
  185.     DC.B    $00,$02,$00,$07,$00,$0C,$00,$10
  186.     DC.B    $00,$15,$00,$1A,$00,$1E,$00,$23
  187.     DC.B    $00,$27,$00,$2C,$00,$30,$00,$35
  188.     DC.B    $00,$39,$00,$3E,$00,$42,$00,$47
  189.     DC.B    $00,$4B,$00,$4F,$00,$53,$00,$58
  190.     DC.B    $00,$5C,$00,$60,$00,$64,$00,$68
  191.     DC.B    $00,$6B,$00,$6F,$00,$73,$00,$77
  192.     DC.B    $00,$7A,$00,$7E,$00,$81,$00,$85
  193.     DC.B    $00,$88,$00,$8B,$00,$8E,$00,$91
  194.     DC.B    $00,$94,$00,$97,$00,$9A,$00,$9D
  195.     DC.B    $00,$9F,$00,$A2,$00,$A4,$00,$A6
  196.     DC.B    $00,$A9,$00,$AB,$00,$AD,$00,$AF
  197.     DC.B    $00,$B0,$00,$B2,$00,$B4,$00,$B5
  198.     DC.B    $00,$B6,$00,$B8,$00,$B9,$00,$BA
  199.     DC.B    $00,$BB,$00,$BC,$00,$BC,$00,$BD
  200.     DC.B    $00,$BD,$00,$BE,$00,$BE,$00,$BE
  201.     DC.B    $00,$BE,$00,$BE,$00,$BE,$00,$BD
  202.     DC.B    $00,$BD,$00,$BC,$00,$BC,$00,$BB
  203.     DC.B    $00,$BA,$00,$B9,$00,$B8,$00,$B6
  204.     DC.B    $00,$B5,$00,$B4,$00,$B2,$00,$B0
  205.     DC.B    $00,$AF,$00,$AD,$00,$AB,$00,$A9
  206.     DC.B    $00,$A6,$00,$A4,$00,$A2,$00,$9F
  207.     DC.B    $00,$9D,$00,$9A,$00,$97,$00,$94
  208.     DC.B    $00,$91,$00,$8E,$00,$8B,$00,$88
  209.     DC.B    $00,$85,$00,$81,$00,$7E,$00,$7A
  210.     DC.B    $00,$77,$00,$73,$00,$6F,$00,$6B
  211.     DC.B    $00,$68,$00,$64,$00,$60,$00,$5C
  212.     DC.B    $00,$58,$00,$53,$00,$4F,$00,$4B
  213.     DC.B    $00,$47,$00,$42,$00,$3E,$00,$39
  214.     DC.B    $00,$35,$00,$30,$00,$2C,$00,$27
  215.     DC.B    $00,$23,$00,$1E,$00,$1A,$00,$15
  216.     DC.B    $00,$10,$00,$0C,$00,$07,$00,$02
  217.  
  218. ;copperlist data
  219. LB_0372
  220.     DC.B    $01,$80,$00,$00,$01,$82,$0F,$FF
  221.     DC.B    $01,$84,$0A,$AA,$01,$86,$08,$88
  222.     DC.B    $00,$8E,$29,$81,$00,$90,$28,$C1
  223.     DC.B    $00,$92,$00,$38,$00,$94,$00,$D0
  224. LB_0392
  225.     DC.B    $00,$E0,$00,$00,$00,$E2,$00,$00
  226.     DC.B    $00,$E4,$00,$00,$00,$E6,$00,$00
  227.     DC.B    $01,$00,$02,$00,$01,$02,$00,$00
  228.     DC.B    $01,$04,$00,$00,$01,$08,$00,$28
  229.     DC.B    $01,$0A,$00,$28,$A8,$09,$FF,$FE
  230.     DC.B    $01,$08,$FF,$88,$01,$0A,$FF,$88
  231.     DC.B    $FF,$FF,$FF,$FE        ;end of coplist
  232. LB_03C6
  233.     DC.B    $00,$02,$00,$00
  234. LB_03CA
  235.     DC.B    $00,$02,$00,$00
  236. LB_03CE
  237.     DC.B    $00,$02,$28,$00
  238. LB_03D2
  239.     DC.B    $00,$02,$50,$00
  240. LB_03D6
  241.     dc.b    'dos.library',0
  242.     DC.B    'Email:vanhanen@vipunen.hut'
  243.